package com.px.task.service;

import com.px.task.domain.TaskCalendarBlacklist;

import java.util.List;

/**
 * 任务黑名单,记录循环任务中被删除的单次任务Service接口
 * 
 * @author WRJ
 * @date 2024-08
 */
public interface ITaskCalendarBlacklistService 
{
    /**
     * 查询任务黑名单,记录循环任务中被删除的单次任务
     * 
     * @param id 任务黑名单,记录循环任务中被删除的单次任务主键
     * @return 任务黑名单,记录循环任务中被删除的单次任务
     */
    public TaskCalendarBlacklist selectTaskCalendarBlacklistById(Long id);

    /**
     * 查询任务黑名单,记录循环任务中被删除的单次任务列表
     * 
     * @param taskCalendarBlacklist 任务黑名单,记录循环任务中被删除的单次任务
     * @return 任务黑名单,记录循环任务中被删除的单次任务集合
     */
    public List<TaskCalendarBlacklist> selectTaskCalendarBlacklistList(TaskCalendarBlacklist taskCalendarBlacklist);

    /**
     * 新增任务黑名单,记录循环任务中被删除的单次任务
     * 
     * @param taskCalendarBlacklist 任务黑名单,记录循环任务中被删除的单次任务
     * @return 结果
     */
    public int insertTaskCalendarBlacklist(TaskCalendarBlacklist taskCalendarBlacklist);

    /**
     * 修改任务黑名单,记录循环任务中被删除的单次任务
     * 
     * @param taskCalendarBlacklist 任务黑名单,记录循环任务中被删除的单次任务
     * @return 结果
     */
    public int updateTaskCalendarBlacklist(TaskCalendarBlacklist taskCalendarBlacklist);

    /**
     * 批量删除任务黑名单,记录循环任务中被删除的单次任务
     * 
     * @param ids 需要删除的任务黑名单,记录循环任务中被删除的单次任务主键集合
     * @return 结果
     */
    public int deleteTaskCalendarBlacklistByIds(Long[] ids);

    /**
     * 删除任务黑名单,记录循环任务中被删除的单次任务信息
     * 
     * @param id 任务黑名单,记录循环任务中被删除的单次任务主键
     * @return 结果
     */
    public int deleteTaskCalendarBlacklistById(Long id);

    /**
     * 根据传入的任务ID,获取黑名单中数据
     * @param execTaskIds
     * @return
     */
    List<TaskCalendarBlacklist> selectTaskCalendarBlacklistListByTaskId(List<Long> execTaskIds);
}
